Use matrix equality in GskTransform
authorEmmanuele Bassi <ebassi@gnome.org>
Fri, 22 Mar 2019 12:38:36 +0000 (12:38 +0000)
committerBenjamin Otte <otte@redhat.com>
Mon, 29 Apr 2019 00:26:31 +0000 (02:26 +0200)
Graphene has new API to check for equality, so we should use it instead
of doing a byte-by-byte comparison.

gsk/gsktransform.c

index 428132bdfb252f3c22119fb296ec128988160087..ebd99808322a65ce313bff6c01a6ae9e51315918 100644 (file)
@@ -419,8 +419,10 @@ gsk_matrix_transform_equal (GskTransform *first_transform,
   GskMatrixTransform *first = (GskMatrixTransform *) first_transform;
   GskMatrixTransform *second = (GskMatrixTransform *) second_transform;
 
-  /* Crude, but better than just returning FALSE */
-  return memcmp (&first->matrix, &second->matrix, sizeof (graphene_matrix_t)) == 0;
+  if (graphene_matrix_equal_fast (&first->matrix, &second->matrix))
+    return TRUE;
+
+  return graphene_matrix_equal (&first->matrix, &second->matrix);
 }
 
 static const GskTransformClass GSK_TRANSFORM_TRANSFORM_CLASS =